package com.amigo.online.provider.video.service;

import java.util.List;

import com.amigo.online.common.core.service.IService;
import com.amigo.online.common.param.dto.video.MusicDto;
import com.amigo.online.common.param.result.MusicInfo;
import com.amigo.online.provider.video.model.entity.Music;

public interface MusicService extends IService<Music> {

    List<MusicInfo> getMusics(Long musicid, Integer page, Integer size);

    List<MusicInfo> getMyCollectMusics(Integer page, Integer size);

    boolean collectMusic(Long musicid);

    boolean cancelCollect(Long musicid);

    MusicInfo newMusic(MusicDto dto);

    List<Music> getAll();

    Music getMusicById(Long musicid);

    List<Music> getMusicByIds(List<Long> ids);

    boolean updateMusicOrginalMusicUrl(Long videoId, Long userId, String musicUrl);

    /**
     * @throws
     * @Title: updateMusicOrginalMusicUrlV1
     * @Description: (视频剥离音频后更新音乐信息)
     * @param: @param videoId
     * @param: @param userId
     * @param: @param musicUrl
     * @param: @param duration
     * @param: @return
     * @return: boolean
     */
    boolean updateMusicOrginalMusicUrlV1(Long videoId, Long userId, String musicUrl, Double duration);

}
